﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using BUS;
using DTO;
namespace GUI
{
    public partial class FormCapNhatMonAn : Form
    {
        private int id_mon_an;
        public int Id_Mon_An
        {
            get { return id_mon_an; }
            set { id_mon_an = value; }
        }
        public FormCapNhatMonAn()
        {
            InitializeComponent();
        }

        private void FormCapNhatMonAn_Load(object sender, EventArgs e)
        {
           // idmonan.Text = id_mon_an.ToString();
           // MessageBox.Show(id_mon_an.ToString());
            MonAnBUS monanbus = new MonAnBUS();
            MonAnDTO monan = monanbus.LayMonAn(FormDanhSachMonAn.ID);
            LoaiMonAnBUS loaimon=new LoaiMonAnBUS();
            string loaimonan = loaimon.LayLoaiMonAn(monan.Id_Loai_Mon_An);
            LoaiMenuBUS loaimenu = new LoaiMenuBUS();
            string loaimn = loaimenu.LayLoaiMenu(monan.Id_Loai_Menu);
            //
            List<LoaiMenuDTO> dsmenu = loaimenu.LayDanhSachLoaiMenu();
            List<LoaiMonAnDTO> dsloaimonan = loaimon.LayDanhSachLoaiMonAn();
            //
            LoaiMenuDTO tem = new LoaiMenuDTO();
            for (int i = 1; i < dsmenu.Count; i++)
            {
                if (dsmenu[i].Id_Loai_Menu == monan.Id_Loai_Menu)
                {
                    tem.Id_Loai_Menu=dsmenu[i].Id_Loai_Menu;
                    tem.Ten_Loai_Menu=dsmenu[i].Ten_Loai_Menu;
                    dsmenu.RemoveAt(i);
                    dsmenu.Insert(0, tem);
                    break;
                }
            }
            //
            LoaiMonAnDTO tem_mon = new LoaiMonAnDTO();
            for (int i = 0; i < dsloaimonan.Count; i++)
            {
                if (dsloaimonan[i].Id_Loai == monan.Id_Loai_Mon_An)
                {
                    tem_mon.Id_Loai = dsloaimonan[i].Id_Loai;
                    tem_mon.Ten_Mon_An = dsloaimonan[i].Ten_Mon_An;
                    dsloaimonan.RemoveAt(i);
                    dsloaimonan.Insert(0, tem_mon);
                    break;
                }
            }
            //
            cbloaimenu.DataSource = dsmenu;
            cbloaimenu.DisplayMember = "Ten_Loai_Menu";
            cbloaimenu.ValueMember = "Id_Loai_Menu";
            //
            cbloaimon.DataSource = dsloaimonan;
            cbloaimon.DisplayMember = "Ten_Mon_An";
            cbloaimon.ValueMember = "Id_loai";
            txttenmon.Text = monan.Ten_Mon_An;
            txtgiatien.Text = monan.Don_Gia.ToString();
        }

        private void btthoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btupdate_Click(object sender, EventArgs e)
        {
            if (txttenmon.Text == null || txttenmon.Text.Length == 0)
            {
                MessageBox.Show("Tên không được để trống");
                return;
            }
            MonAnBUS ma = new MonAnBUS();
            function fc = new function();
            if (fc.IsNumber(txtgiatien.Text))
            {
                long gia = long.Parse(txtgiatien.Text);
                bool kt=ma.CapNhatMonAn(id_mon_an, txttenmon.Text, int.Parse(cbloaimon.SelectedValue.ToString()), int.Parse(cbloaimenu.SelectedValue.ToString()), gia);
                if (kt == true)
                {
                    MessageBox.Show("Câp nhật thành công");
                }
                else
                {
                    MessageBox.Show("Cập nhật thất bại");
                }
            }
            else
            {
                MessageBox.Show("Vui lòng nhập giá tiền là số");
            }

        }

        private void btxem_Click(object sender, EventArgs e)
        {
            FormDanhSachMonAn frm = new FormDanhSachMonAn();
            this.Hide();
            frm.ShowDialog();
        }
    }
}
